# Demo

Body:
Welcome to NeuroSolutions for Excel 4.  When combined with the all new NeuroSolutions 4, this natural marriage creates the most powerful and easy to use neural network simulation environment on the market today.  NeuroSolutions for Excel allows you to access the power of NeuroSolutions as a neural network environment while working within a familiar spreadsheet environment.  This demo will take you through the minimum steps necessary to train a network using NeuroSolutions for Excel.  Be sure to run all of the demos since each one demonstrates a different feature of NeuroSolutions for Excel.


Body:
In this demo, we will train a neural network to classify rock crabs as either male or female.  The data was taken from Campbell & Mahon (1974) and is contained within the Excel worksheet "Crab Data".  There are 50 male and 50 female specimens for each of two species (blue form and orange form) for a total of 200 specimens.  The columns labeled "Species", "Frontal Lip", "Rear Width", "Length", "Width", and "Depth" will serve as inputs to the neural network and the columns labeled "Male" and "Female" will serve as the desired outputs.


Body:
Before NeuroSolutions for Excel can train a neural network, it needs to know which columns to use as inputs and which columns to use as the desired outputs.  To accomplish this, you simply select the columns that you want to use as inputs and then select "Tag Data|Column as Input" from the "NeuroSolutions" menu (located within the Microsoft Excel menu bar).  Similarly, to tag the desired output columns, you select the corresponding columns then select  "Tag Data|Column as Desired" from the "NeuroSolutions" menu.  Note: Tagging operations can also be performed from context menus.  Simply select the columns or rows to tag, click the right mouse button, then select the appropriate tagging operation from the resulting context menu. Click the "Next" button to automatically tag the correct columns and move on to the next demo panel.


Body:
The rows of data must also be tagged before a training process can be run.  Rows can be tagged as "Training", "Cross Validation", "Testing", or "Production".  Only the "Training" tag is required for running a training process.  However, cross validation is a very useful  tool for preventing over-training, so in most cases you will also want to tag a portion of your data as "Cross Validation".  The rows of data to use for testing the trained network ("Testing") or producing the network output for new data ("Producation") can be tagged before or after the training process is run.  To tag rows of data you select the appropriate rows then select the corresponding tagging operation from the "NeuroSolutions" menu.  The first 120 rows will be used for training and the next 30 rows will be used for cross validation.  These rows will automatically be tagged when you press the "Next" button.


Body:
A pre-saved one hidden layer multilayer perceptron (MLP) will be opened within NeuroSolutions and used for modeling this data.  When a training process is run, files are automatically created (using the tagged cross-sections) and loaded into the active NeuroSolutions network.  Each training process displays a dialog box with user definable options corresponding to the type of training process being run.  In this step, we will train the network one time.  The dialog box will be preset to use cross validation and train for 200 epochs.  Click  the "Train Network" button now to train the network.  Examine the settings in the resulting dialog box then click OK.


Body:
Notice that a report has been generated within the worksheet named "Train1 Report".  This report summarizes the training results.  The plot shows the learning curves for both the training and cross validation data sets.  The table gives the epoch at which the training and cross validation mean-squared errors (MSEs) were minimum, the values of these minimum MSEs, and the values of the MSEs at the last epoch.  The training MSE and cross validation MSE were collected for each epoch within the worksheet named "Train1 MSE".  The actual learning curves will vary with each run of the demo since the weights are randomized at the beginning of a training run.


Body:
From examining the learning curves, you can see that the MLP seems to have done a pretty good job of learning the crab data.  To verify this conclusion, we need to run a testing set through the trained neural network model.  All training processes automatically save the weights at the minimum cross validation error (when cross validation is used) or at the minimum training error (when cross validation is not used).  These saved "best weights" will be used in the next demo to test the validity of the neural network model.  Click "Next" to return to the main demo panel.


